// import Vue from 'vue'
// import VueRouter from 'vue-router'
// import store from '../store/index.js'
// import layout from '../views/layout.vue'
// import NProgress from 'nprogress' // progress bar
// import 'nprogress/nprogress.css' // progress bar style
// NProgress.configure({
//   showSpinner: false
// }) // NProgress Configuration

// Vue.use(VueRouter)

// export const constantRoutes = [
//   {
//     path: '/login',
//     name: 'login',
//     component: () => import('../views/login.vue'),
//     hidden: true,
//     meta: {
//       title: '登录'
//     }
//   },
//   {
//     path: '/',
//     redirect: '/home',
//     component: layout,
//     children: [
//       {
//         path: '/home',
//         name: 'home',
//         meta: {
//           title: '首页'
//         },
//         component: () => import('../views/home.vue')
//       }
//     ]
//   },
//   // 安全生产管理
//   {
//     path: '/safetyProduction',
//     name: 'safetyProduction',
//     component: layout,
//     redirect: '/safetyProduction/dwgl',
//     children: [
//       {
//         path: '/safetyProduction/dwgl',
//         name: 'safetyProduction-dwgl',
//         meta: {
//           title: '单位管理'
//         },
//         component: () => import('../views/safetyProduction/dwgl/index.vue')
//       },
//       {
//         path: '/safetyProduction/unitManagement_Edit',
//         name: 'safetyProduction/unitManagement_Edit',
//         meta: {
//           title: '单位管理编辑'
//         },
//         component: () => import('../views/safetyProduction/dwgl/unitManagement_Edit')
//       },
//       {
//         path: '/safetyProduction/rcjc',
//         name: 'safetyProduction-rcjc',
//         meta: {
//           title: '日常检查'
//         },
//         component: () => import('../views/safetyProduction/yhpc/rcjc/index.vue')
//       },
//       {
//         path: '/safetyProduction/rcjc/specialInspection_Edit',
//         name: 'safetyProduction/rcjc/specialInspection_Edit',
//         meta: {
//           title: '日常检查编辑'
//         },
//         component: () => import('../views/safetyProduction/yhpc/rcjc/specialInspection_Edit.vue')
//       },
//       {
//         path: '/safetyProduction/zxjc',
//         name: 'safetyProduction-zxjc',
//         meta: {
//           title: '专项检查'
//         },
//         component: () => import('../views/safetyProduction/yhpc/zxjc/index.vue')
//       },
//       {
//         path: '/safetyProduction/zxjc/inspection_Edit',
//         name: 'safetyProduction/zxjc/inspection_Edit',
//         meta: {
//           title: '专项检查编辑'
//         },
//         component: () => import('../views/safetyProduction/yhpc/zxjc/inspection_Edit.vue')
//       },
//       {
//         path: '/safetyProduction/jcjg',
//         name: 'safetyProduction-jcjg',
//         meta: {
//           title: '检查结果'
//         },
//         component: () => import('../views/safetyProduction/yhpc/jcjg/index.vue')
//       },
//       {
//         path: '/safetyProduction/jcjg/jgck',
//         name: 'safetyProduction/jcjg/jgck',
//         meta: {
//           title: '检查结果查看'
//         },
//         component: () => import('../views/safetyProduction/yhpc/jcjg/jgck.vue')
//       },
//       {
//         path: '/safetyProduction/jcdgl',
//         name: 'safetyProduction-jcdgl',
//         meta: {
//           title: '检查单管理'
//         },
//         component: () => import('../views/safetyProduction/yhpc/jcdgl/index.vue')
//       },
//       {
//         path: '/safetyProduction/wlsb',
//         name: 'safetyProduction-wlsb',
//         meta: {
//           title: '物联设备'
//         },
//         component: () => import('../views/safetyProduction/wlsb/index.vue')
//       },
//       {
//         path: '/safetyProduction/gztj',
//         name: 'safetyProduction-gztj',
//         meta: {
//           title: '工作统计'
//         },
//         component: () => import('../views/safetyProduction/gztj/index.vue')
//       },
//       {
//         path: '/safetyProduction/zhpj',
//         name: 'safetyProduction-zhpj',
//         meta: {
//           title: '综合评价'
//         },
//         component: () => import('../views/safetyProduction/zhpj/index.vue')
//       },
//       {
//         path: '/systemManagement/yhgl',
//         name: 'systemManagement-yhgl',
//         meta: {
//           title: '用户管理'
//         },
//         component: () => import('../views/systemManagement/yhgl/index.vue')
//       },
//       {
//         path: '/systemManagement/jsgl',
//         name: 'systemManagement-jsgl',
//         meta: {
//           title: '角色管理'
//         },
//         component: () => import('../views/systemManagement/jsgl/index.vue')
//       },
//       {
//         path: '/systemManagement/qxgl',
//         name: 'systemManagement-qxgl',
//         meta: {
//           title: '权限管理'
//         },
//         component: () => import('../views/systemManagement/qxgl/index.vue')
//       },
//       {
//         path: '/systemManagement/rzgl',
//         name: 'systemManagement-rzgl',
//         meta: {
//           title: '日志管理'
//         },
//         component: () => import('../views/systemManagement/rzgl/index.vue')
//       },
//       {
//         path: '/systemManagement/zdypzx',
//         name: 'systemManagement-zdypzx',
//         meta: {
//           title: '自定义配置'
//         },
//         component: () => import('../views/systemManagement/zdypzx/index.vue')
//       },
//       {
//         path: '/systemManagement/xxfb',
//         name: 'systemManagement-xxfb',
//         meta: {
//           title: '消息发布'
//         },
//         component: () => import('../views/systemManagement/xxfb/index.vue')
//       },
//       {
//         path: '/systemManagement/xxfb/xzxx',
//         name: 'systemManagement/xxfb/xzxx',
//         meta: {
//           title: '消息发布新增'
//         },
//         component: () => import('../views/systemManagement/xxfb/xzxx.vue')
//       }
//     ]
//   },
//   {
//     path: '/NotFound',
//     name: 'NotFound',
//     meta: {
//       title: 'NotFound'
//     },
//     component: () => import('@/views/404.vue')
//   },
//   // 所有未定义路由，全部重定向到404页
//   {
//     path: '*',
//     redirect: '/NotFound'
//   }
// ]
// //***************************************************************** */
// // 防止连续点击多次路由报错
// let routerPush = VueRouter.prototype.push
// VueRouter.prototype.push = function push(location) {
//   return routerPush.call(this, location).catch((err) => err)
// }
// //***************************************************************** */
// const router = new VueRouter({
//   mode: 'hash', // 去掉url中的#
//   routes: constantRoutes
// })
// export function resetRouter() {
//   const newRouter = new VueRouter({
//     mode: 'hash',
//     routes: constantRoutes
//   })
//   router.matcher = newRouter.matcher // reset router
// }
// // 路由白名单
// const whiteList = ['/login', '/register']
// router.beforeEach(async (to, from, next) => {
//   NProgress.start()
//   // const title = to.meta.title;
//   // document.title = title;
//   const token = localStorage.getItem('token')
//   if (token) {
//     if (to.path === '/login') {
//       next({ path: '/' })
//       NProgress.done()
//     } else {
//       const hasGetUserInfo = store.getters['user/getUserInfo'].userName
//       if (hasGetUserInfo != '' && hasGetUserInfo != null && hasGetUserInfo != undefined && hasGetUserInfo != 'undefined') {
//         //信息拿到后，用户请求哪就跳转哪
//         next()
//       } else {
//         try {
//           // 如果有令牌，但是没有用户信息，证明用户是第一次登录，通过Vuex设置用户信息
//           await store.dispatch('user/getInfo')
//           // 根据用户不同，路由表也不同
//           // const info = store.getters['user/getUserInfo'].role //获取用户信息分配路由
//           const accessRoutes = await store.dispatch('routes/generateRoutes')
//           console.log(accessRoutes)
//           // router.addRoutes(accessRoutes)
//           // next({ ...to, replace: true })
//           next()
//         } catch (error) {
//           // 如果出错了，把令牌去掉，并让用户重新去到登录页面
//           await store.dispatch('user/resetToken')
//           console.log(error || 'Has Error')
//           next(`/login?redirect=${to.path}`)
//           NProgress.done()
//         }
//       }
//     }
//   } else {
//     if (whiteList.indexOf(to.path) !== -1) {
//       next()
//     } else {
//       // 如果这个页面不在白名单里，直接跳转到登录页面
//       next(`/login?redirect=${to.path}`)
//       NProgress.done()
//     }
//   }
// })
// router.afterEach(() => {
//   NProgress.done()
// })
// export default router
